from elasticsearch import Elasticsearch

# 连接 Elasticsearch
es = Elasticsearch(
    ["http://39.108.176.217:9200"],
)


def common_analyze():
    # 调用 _analyze API，使用 standard 分词器
    response = es.indices.analyze(
        body={
            "text": "你好分词器",
            "analyzer": "standard"  # 你可以改成 "ik_max_word" 如果安装了 IK 插件
        }
    )

    # 打印分词结果
    print("分词结果：")
    for token in response["tokens"]:
        print(token)
        print(f"词语: {token['token']}, 位置: {token['position']}")

    """
    分词结果：
    {'token': '你', 'start_offset': 0, 'end_offset': 1, 'type': '<IDEOGRAPHIC>', 'position': 0}
    词语: 你, 位置: 0
    {'token': '好', 'start_offset': 1, 'end_offset': 2, 'type': '<IDEOGRAPHIC>', 'position': 1}
    词语: 好, 位置: 1
    {'token': '分', 'start_offset': 2, 'end_offset': 3, 'type': '<IDEOGRAPHIC>', 'position': 2}
    词语: 分, 位置: 2
    {'token': '词', 'start_offset': 3, 'end_offset': 4, 'type': '<IDEOGRAPHIC>', 'position': 3}
    词语: 词, 位置: 3
    {'token': '器', 'start_offset': 4, 'end_offset': 5, 'type': '<IDEOGRAPHIC>', 'position': 4}
    词语: 器, 位置: 4
    """

if __name__ == '__main__':
    common_analyze()